﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Entities;

namespace BLL
{
   public class PhanQuyen
    {
       /// <summary>
       /// kiểm tra 1 control có chứa ít nhất 1 quyền sử dụng có áp dụng cho tài khoản đăng nhập  đó hay không?
       /// </summary>
       /// <param name="matk"></param>
       /// <param name="ma_nhomquyen"></param>
       /// <returns></returns>
       public static bool CheckNhomQuyen(string matk, string ma_nhomquyen)
       {
           //tìm tất cả quyền sử dụng của nhóm quyền
           var dsnhomquyen = Generic.FindByCondition<QuyenSuDung>(x => x.NhomQuyen.MaNhomQuyen == ma_nhomquyen).ToList();
          //tìm tất cả quyền sử dụng của tài khoản vừa đăng nhập
           var dspqsd = QLPhanQuyenSuDung.FindByCondition(x => x.MaTK == matk);

           //kiểm tra xe tồn tại ít nhất 1 quyền sử dụng của nhóm quyền mà có trong phân quyền sử dụng của tài khoản đăng nhập vào  hay không?
           foreach (QuyenSuDung nq in dsnhomquyen)
           {
               foreach (PhanQuyenSuDung pqsd in dspqsd)
               {
                   if (pqsd.MaQuyenSuDung == nq.MaQuyenSuDung)
                       return true;
               }
           }
           return false;
       }

       /// <summary>
       /// kiểm tra 1 quyền sử dụng có dc áp dụng cho tài khoản đăng nhập đó không ?
       /// 
       /// </summary>
       /// <param name="matk"></param>
       /// <param name="ma_quyensudung"></param>
       /// <returns></returns>
       public static bool CheckQuyenSuDung(string matk , string ma_quyensudung)
       {
           return QLPhanQuyenSuDung.Any(x => x.MaTK == matk && x.MaQuyenSuDung == ma_quyensudung);
       }
    }
}
